import {httpPost,httpGet,httpPut,httpDelete} from "services/http"
type int = number;
		type List<T> = Array<T>
		type Collection<T> = Array<T>
		
type JsonNode = any
type long = number
interface KeyValueDTO<T,T1>{key:T,value:T1}
export interface UserInfo {
  /** 用户昵称 */
  nickName?: string
  /** 用户id */
  userId?: number
  /** 用户头像 */
  userImg?: string
}

export interface 登录用户信息 {
  /** 用户姓名 */
  name?: string
  /** 角色信息 */
  role?: 管理后台的角色信息
  /** token信息 */
  token?: Token信息
  /** 用户ID */
  userId?: number
  /** 用户名 */
  username?: string
}

export interface 管理后台的角色信息 {
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 角色可以访问的所有菜单 */
  menus?: 管理后台的菜单表[]
  /** 角色名称 */
  name?: string
}

export interface 管理后台的菜单表 {
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 菜单名称 */
  name?: string
  /** 菜单路径 */
  path?: string
  /** 排序 */
  sortId?: number
}

export interface Token信息 {
  /** Token的到期时间戳，单位为毫秒 */
  expireAt?: number
  /** 用户允许访问的菜单ID */
  menuIds?: number[]
  /** 租户ID */
  tenantId?: string
  /** token */
  token?: string
  /** 用户ID */
  userId?: number
}

export interface 登录信息 {
  /** 密码 */
  password?: string
  /** 用户名 */
  username?: string
}

export interface PromoteRegisterResultVO {
  registerInfoId?: number
  registerLogId?: number
}

export interface PromoteVerifyCodeDTO {
  /** 手机号 */
  phone?: string
  /** 推广用户id */
  promoteUserId?: number
  /** 验证码 */
  verifyCode?: string
  /** 验证码业务类型(5其他) */
  verifyServiceCode?: number
}

export interface UpdatePromoteRegisterVO {
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 性别 1:男 2:女 */
  gender?: number
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 婚姻 1:未婚 2:离异 3:丧偶 4:已婚 */
  maritalStatus?: number
  /** 收入 */
  monthlyProfile?: string
  /** 推广用户ID */
  promoteUserId?: number
  /** 登记有效信息ID */
  registerInfoId?: number
  /** 登记记录ID */
  registerLogId?: number
  /** 年龄 */
  userAge?: number
  /** 姓名 */
  userNickName?: string
  /** 用户手机号 */
  userPhone?: string
}

export interface QuestionnaireVO {
  /** 备注 */
  description?: string
  /** 问卷名 */
  name?: string
  /** 问卷ID */
  questionnaireId?: number
  /** 问题列表 */
  questions?: QuestionnaireQuestionVO[]
  /** 排序号 */
  sort?: number
  /** 状态 0:未启用 1:已启用 */
  status?: number
  /** 问卷类型 1:引导问题 2:基础画像问卷，3：档案问卷 */
  type?: number
}

export interface QuestionnaireQuestionVO {
  /** 背景图 */
  backgroundImageUrl?: string
  /** 问卷ID */
  kid?: number
  /** 更新时间 */
  lastUpdateDate?: string
  /** 答案文本 */
  optionContent?: string
  /** 答案文本 */
  options?: QuestionnaireQuestionOptionVO[]
  /** 文本框内提示文案 */
  prompt?: string
  /** 问题名称 */
  questionName?: string
  /** 问卷ID */
  questionnaireId?: number
  /** 是否必填0否，1是 */
  required?: number
  /** 排序号 */
  sort?: number
  /** 问题类型 1:单选 2:多选，3文本框 */
  type?: number
}

export interface QuestionnaireQuestionOptionVO {
  /** 选项值 */
  dataValue?: string
  /** 更新时间 */
  lastUpdateDate?: string
  /** 选项名称 */
  name?: string
  /** 问题id */
  questionId?: number
  /** 排序号 */
  sort?: number
}

export interface LoveCustomerRelation {
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 服务用户ID */
  customerId?: number
  /** 删除标识 0正常1删除 */
  delFlag?: number
  /** 分布式唯一ID */
  kid?: number
  /** 最后读取消息的时间戳 */
  lastReadMsgTime?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 需求工单ID */
  needOrderId?: number
  /** 方案客服ID */
  planServiceId?: number
  /** 客服ID */
  serviceId?: number
  /** 用户ID */
  userId?: number
}

export interface PageList<T> {
  /** 数据总条数，前端接口可忽略改字段 */
  count?: number
  /** 数据集合 */
  entities?: T[]
  /** 当前页码 */
  pageNo?: number
  /** 每页条数 */
  pageSize?: number
}

export interface MarriageSeekingApply {
  /** 申请状态 1:待处理 2:已处理 */
  applyStatus?: number
  /** 审核时间 */
  auditDate?: string
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 删除标记 0:可用 1:无效 */
  delFlag?: boolean
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 征婚说明 */
  seekingContent?: string
  /** 用户ID */
  userId?: number
  /** 用户生活照 */
  userPhoto?: string
}

export interface MarriageSeekingMessage {
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 删除标记 0:可用 1:无效 */
  delFlag?: boolean
  /** 用户性别 */
  gender?: number
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 嘉宾编码 */
  seekingCode?: string
  /** 征婚说明 */
  seekingContent?: string
  /** 申请状态 1:上架 0下架 */
  shelveFlag?: number
  /** 排序值 */
  sort?: number
  /** 置顶状态 1置顶，0取消置顶 */
  top?: number
  /** 用户ID */
  userId?: number
  /** 用户生活照 */
  userPhoto?: string
}

export interface PromoteRegisterQueryVO {
  /** 终止时间 格式：yyyy-MM-dd */
  endTime?: string
  /** 推广人userId */
  promoteUserId?: number
  /** 起始时间 格式：yyyy-MM-dd */
  startTime?: string
}

export interface PageRequest<T> {
  /** 截止时间 */
  endTime?: string
  /** 页码 */
  pageNo?: number
  /** 每页条数 */
  pageSize?: number
  /** 参数对象 */
  param?: T
  /** 开始时间 */
  startTime?: string
}

export interface PromoteRegisterLogVO {
  /** App注册的用户昵称 */
  appUserName?: string
  /** BD用户昵称 */
  bdUserName?: string
  /** 创建时间 */
  createDate?: string
  /** 性别 1:男 2:女 */
  gender?: number
  genderStr?: string
  /** 是否注册了APP用户 */
  isRegisterAppUser?: boolean
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 婚姻 1:未婚 2:离异 3:丧偶 4:已婚 */
  maritalStatus?: number
  maritalStatusStr?: string
  /** 收入 */
  monthlyProfile?: string
  /** 推广用户ID */
  promoteUserId?: number
  promoteUserNickName?: string
  /** 年龄 */
  userAge?: number
  /** 姓名 */
  userNickName?: string
  /** 用户手机号 */
  userPhone?: string
}

export interface PromoteGroupUserConsumeDetailVO {
  /** 活动编码 */
  activeCode?: string
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  money?: number
  /** 支付单号 */
  payNo?: string
  promoteUserId?: number
  promoteUserName?: string
  /** 退款单号 */
  refundNo?: string
  userId?: number
  userName?: string
  userPhone?: string
}

export interface PromoteUserConsumeQueryVO {
  /** 活动编码 */
  activeCode?: string
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 是否是查询小组信息 */
  isGroup?: boolean
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 业绩金额 */
  money?: number
  /** 支付单号 */
  payNo?: string
  /** 推广用户id */
  promoteUserId?: number
  /** 退款单号 */
  refundNo?: string
  /** 用户id */
  userId?: number
}

export interface PromoteUserDetailVO {
  /** 活动编码 */
  activeCode?: string
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  groupName?: string
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 推广用户id */
  promoteUserId?: number
  /** 注册时间 */
  registerDate?: string
  /** 用户id */
  userId?: number
  userName?: string
  userPhone?: string
}

export interface PromoteGroupUserDetailVO {
  /** 活动编码 */
  activeCode?: string
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  promoteUserId?: number
  promoteUserName?: string
  registerDate?: string
  userId?: number
  userName?: string
  userPhone?: string
}

export interface PromoteUserQueryVO {
  /** 活动编码 */
  activeCode?: string
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 是否是查询小组信息 */
  isGroup?: boolean
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 推广用户id */
  promoteUserId?: number
  /** 注册时间 */
  registerDate?: string
  /** 用户id */
  userId?: number
}

export interface QuestionnaireQuestionOption {
  /** 创建时间 */
  createDate?: string
  /** 创建人ID */
  createUserId?: number
  /** 选项值 */
  dataValue?: string
  /** 删除标志位 */
  delFlag?: number
  /** 分布式唯一ID */
  kid?: number
  /** 最后修改时间 */
  lastUpdateDate?: string
  /** 最后修改人ID */
  lastUpdateUserId?: number
  /** 选项名称 */
  name?: string
  /** 问题id */
  questionId?: number
  /** 分值 */
  score?: number
  /** 排序号 */
  sort?: number
}
export default {
  bdAccounts: {
    /**
    * 查询用户基本信息（前端H5页面调用）
    */
    userInfo(params: { userId: number }): Promise<UserInfo> {
      return httpGet(`/lovelorn-manager/v1.2/pb/bd-accounts/action/user-info`,  {params} ).then((res:any) => res.data.data)
    },
    /**
    * 查询指定手机号是否是BD小组长
    */
    isBdleaderPhone(params: { phone: string }): Promise<boolean> {
      return httpGet(`/lovelorn-manager/v1.2/pt/bd-accounts/action/is-bdleader-phone`,  {params} ).then((res:any) => res.data.data)
    },
    /**
    * 查询指定userId是否是BD小组长
    */
    isBdleaderUserid(params: { userId: number }): Promise<boolean> {
      return httpGet(`/lovelorn-manager/v1.2/pt/bd-accounts/action/is-bdleader-userid`,  {params} ).then((res:any) => res.data.data)
    },
  },
  healths: {
    /**
    * 健康检查
    */
    check(): Promise<boolean> {
      return httpGet(`/lovelorn-manager/v1.2/pb/healths/action/check`).then((res:any) => res.data.data)
    },
  },
  login: {
    /**
    * 登录
    */
    post(login: 登录信息): Promise<登录用户信息> {
      return httpPost(`/lovelorn-manager/v1.2/pb/manager/login`, login).then((res:any) => res.data.data)
    },
  },
  logout: {
    /**
    * 退出
    */
    get(): Promise<boolean> {
      return httpGet(`/lovelorn-manager/v1.2/pb/manager/logout`).then((res:any) => res.data.data)
    },
  },
  promoteRegisterInfo: {
    /**
    * 推广注册用户信息登记表新增（前端H5页面使用）
    */
    create(verifyInfo: PromoteVerifyCodeDTO): Promise<PromoteRegisterResultVO> {
      return httpPost(`/lovelorn-manager/v1.2/pb/promote-register-info/action/create`, verifyInfo).then((res:any) => res.data.data)
    },
    /**
    * 推广注册用户信息登记表编辑（根据手机号更新，手机号必填）（前端H5页面使用）
    */
    update(updateInfo: UpdatePromoteRegisterVO): Promise<boolean> {
      return httpPut(`/lovelorn-manager/v1.2/pb/promote-register-info/action/update`, updateInfo).then((res:any) => res.data.data)
    },
    /**
    * 微信公众号查询H5统计：APP注册总数
    */
    wxCountAppRegister(pageRequest: PageRequest<PromoteRegisterQueryVO>): Promise<number> {
      return httpPost(`/lovelorn-manager/v1.2/pt/promote-register-info/action/wx-count-app-register`, pageRequest).then((res:any) => res.data.data)
    },
    /**
    * 微信公众号查询H5统计
    */
    wxListPage(pageRequest: PageRequest<PromoteRegisterQueryVO>): Promise<PageList<PromoteRegisterLogVO>> {
      return httpPost(`/lovelorn-manager/v1.2/pt/promote-register-info/action/wx-list-page`, pageRequest).then((res:any) => res.data.data)
    },
  },
  questionnaires: {
    /**
    * 管理后台预览
    */
    preview(params: { questionnaireId: number }): Promise<QuestionnaireVO> {
      return httpGet(`/lovelorn-manager/v1.2/pb/questionnaires/action/preview`,  {params} ).then((res:any) => res.data.data)
    },
  },
  loveCustomerRelations: {
    /**
    * APP端查询分页数据
    */
    listPage(params: { pageNo?: number, pageSize?: number }): Promise<PageList<LoveCustomerRelation>> {
      return httpGet(`/lovelorn-manager/v1.2/pt/love-customer-relations/action/list-page`,  {params} ).then((res:any) => res.data.data)
    },
  },
  marriageSeekingApplys: {
    /**
    * APP端查询分页数据
    */
    listPage(params: { pageNo?: number, pageSize?: number }): Promise<PageList<MarriageSeekingApply>> {
      return httpGet(`/lovelorn-manager/v1.2/pt/marriage-seeking-applys/action/list-page`,  {params} ).then((res:any) => res.data.data)
    },
  },
  marriageSeekingMessages: {
    /**
    * APP端查询分页数据
    */
    listPage(params: { pageNo?: number, pageSize?: number }): Promise<PageList<MarriageSeekingMessage>> {
      return httpGet(`/lovelorn-manager/v1.2/pt/marriage-seeking-messages/action/list-page`,  {params} ).then((res:any) => res.data.data)
    },
  },
  promoteUserConsumeDetails: {
    /**
    * 微信公众号查询消费额数据
    */
    wxListPage(pageRequest: PageRequest<PromoteUserConsumeQueryVO>): Promise<PageList<PromoteGroupUserConsumeDetailVO>> {
      return httpPost(`/lovelorn-manager/v1.2/pt/promote-user-consume-details/action/wx-list-page`, pageRequest).then((res:any) => res.data.data)
    },
    /**
    * 微信公众号查询推广金额统计
    */
    wxTotalMoney(pageRequest: PageRequest<PromoteUserConsumeQueryVO>): Promise<number> {
      return httpPost(`/lovelorn-manager/v1.2/pt/promote-user-consume-details/action/wx-total-money`, pageRequest).then((res:any) => res.data.data)
    },
  },
  promoteUserDetails: {
    /**
    * app查询我的推广用户分页数据
    */
    pageMyPromotionUser(params: { pageNo?: number, pageSize?: number }): Promise<PageList<PromoteUserDetailVO>> {
      return httpGet(`/lovelorn-manager/v1.2/pt/promote-user-details/action/page-my-promotion-user`,  {params} ).then((res:any) => res.data.data)
    },
    /**
    * 微信公众号查询引流数据
    */
    wxListPage(pageRequest: PageRequest<PromoteUserQueryVO>): Promise<PageList<PromoteGroupUserDetailVO>> {
      return httpPost(`/lovelorn-manager/v1.2/pt/promote-user-details/action/wx-list-page`, pageRequest).then((res:any) => res.data.data)
    },
  },
  questionnaireQuestionOptions: {
    /**
    * APP端查询分页数据
    */
    listPage(params: { pageNo?: number, pageSize?: number }): Promise<PageList<QuestionnaireQuestionOption>> {
      return httpGet(`/lovelorn-manager/v1.2/pt/questionnaire-question-options/action/list-page`,  {params} ).then((res:any) => res.data.data)
    },
  },
}